<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>深入理解 Netty：高性能网络应用框架</title>
    <link href="https://cdn.staticfile.org/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
    <link href="https://cdn.staticfile.org/tailwindcss/2.2.19/tailwind.min.css" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600;700&family=Noto+Sans+SC:wght@300;400;500;700&display=swap" rel="stylesheet">
    <style>
        body {
            font-family: Tahoma, Arial, Roboto, "Droid Sans", "Helvetica Neue", "Droid Sans Fallback", "Heiti SC", "Hiragino Sans GB", Simsun, sans-serif;
            background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
            min-height: 100vh;
        }
        
        /* 首字下沉 */
        .drop-cap::first-letter {
            float: left;
            font-size: 4rem;
            line-height: 3rem;
            padding-right: 0.5rem;
            margin-top: 0.5rem;
            font-weight: 700;
            color: #4a5568;
        }
        
        /* 卡片悬停效果 */
        .card-hover {
            transition: all 0.3s ease;
        }
        
        .card-hover:hover {
            transform: translateY(-5px);
            box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
        }
        
        /* 渐变文字 */
        .gradient-text {
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }
        
        /* 自定义滚动条 */
        ::-webkit-scrollbar {
            width: 10px;
        }
        
        ::-webkit-scrollbar-track {
            background: #f1f1f1;
        }
        
        ::-webkit-scrollbar-thumb {
            background: #888;
            border-radius: 5px;
        }
        
        ::-webkit-scrollbar-thumb:hover {
            background: #555;
        }
        
        /* 动画效果 */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }
        
        .fade-in-up {
            animation: fadeInUp 0.8s ease-out;
        }
        
        /* 引用样式 */
        .quote-box {
            position: relative;
            padding-left: 3rem;
        }
        
        .quote-box::before {
            content: '"';
            position: absolute;
            left: 0;
            top: -1rem;
            font-size: 4rem;
            color: #e2e8f0;
            font-family: Georgia, serif;
        }
    </style>
</head>
<body>
    <!-- Hero 区域 -->
    <section class="relative overflow-hidden bg-gradient-to-br from-purple-600 via-blue-600 to-indigo-700 text-white">
        <div class="absolute inset-0 bg-black opacity-20"></div>
        <div class="relative container mx-auto px-6 py-24 text-center">
            <h1 class="text-5xl md:text-7xl font-bold mb-6 fade-in-up">
                深入理解 <span class="gradient-text bg-gradient-to-r from-yellow-300 to-pink-300">Netty</span>
            </h1>
            <p class="text-xl md:text-2xl mb-8 opacity-90 fade-in-up" style="animation-delay: 0.2s">
                高性能网络应用框架的终极指南
            </p>
            <div class="flex justify-center space-x-6 fade-in-up" style="animation-delay: 0.4s">
                <div class="flex items-center">
                    <i class="fas fa-rocket text-3xl mr-3"></i>
                    <span class="text-lg">异步事件驱动</span>
                </div>
                <div class="flex items-center">
                    <i class="fas fa-shield-alt text-3xl mr-3"></i>
                    <span class="text-lg">企业级可靠</span>
                </div>
                <div class="flex items-center">
                    <i class="fas fa-code text-3xl mr-3"></i>
                    <span class="text-lg">简单易用</span>
                </div>
            </div>
        </div>
        <div class="absolute bottom-0 left-0 right-0">
            <svg viewBox="0 0 1440 120" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path d="M0 120L60 110C120 100 240 80 360 70C480 60 600 60 720 65C840 70 960 80 1080 85C1200 90 1320 90 1380 90L1440 90V120H1380C1320 120 1200 120 1080 120C960 120 840 120 720 120C600 120 480 120 360 120C240 120 120 120 60 120H0V120Z" fill="white"/>
            </svg>
        </div>
    </section>

    <!-- 主要内容区域 -->
    <main class="container mx-auto px-6 py-12 max-w-6xl">
        
        <!-- 什么是 Netty -->
        <section class="mb-16 fade-in-up">
            <div class="bg-white rounded-2xl shadow-xl p-8 card-hover">
                <h2 class="text-3xl font-bold mb-6 text-gray-800 flex items-center">
                    <i class="fas fa-network-wired text-purple-600 mr-4"></i>
                    什么是 Netty
                </h2>
                <div class="prose prose-lg max-w-none">
                    <p class="drop-cap text-gray-700 leading-relaxed mb-6">
                        当我们谈论高性能网络应用开发时，Netty往往是一个不可忽视的名字。Netty是一个基于Java的开源网络应用程序框架，专为快速开发可维护的高性能协议服务器和客户端而设计。无论是在游戏开发、微服务架构，还是在企业级应用中，Netty都以其强大的功能、灵活的架构和优越的性能广受赞誉。
                    </p>
                    <div class="bg-gradient-to-r from-purple-50 to-blue-50 rounded-xl p-6 my-8">
                        <div class="quote-box">
                            <p class="text-gray-700 italic">
                                Netty的出现大大简化了Java NIO（Non-blocking I/O）编程的复杂性。传统的Java网络编程需要处理底层的细节，如选择器、通道、缓冲区等，这往往对开发人员提出了很高的要求。
                            </p>
                        </div>
                    </div>
                    <p class="text-gray-700 leading-relaxed">
                        在引入Netty之前，我们可能会选择使用Java的标准网络库进行Socket编程。然而，当应用需要处理成千上万的并发连接时，标准的阻塞I/O模型可能会导致性能瓶颈和资源浪费。Netty采用异步和事件驱动的设计理念，充分利用了NIO的非阻塞特性，提供了更高的吞吐量和更低的延迟，成为高并发网络应用开发的理想选择。
                    </p>
                </div>
            </div>
        </section>

        <!-- Netty 简介 -->
        <section class="mb-16 fade-in-up">
            <div class="bg-white rounded-2xl shadow-xl p-8 card-hover">
                <h2 class="text-3xl font-bold mb-6 text-gray-800 flex items-center">
                    <i class="fas fa-info-circle text-blue-600 mr-4"></i>
                    Netty 简介
                </h2>
                <p class="text-gray-700 leading-relaxed mb-8">
                    Netty 是一个基于 Java 的高性能网络应用框架，旨在简化网络编程的复杂性，特别是在构建高并发、低延迟的网络应用程序时。它为开发者提供了一个异步、事件驱动的编程模型，能够处理大量的并发连接。
                </p>
                
                <!-- 核心特点网格 -->
                <div class="grid md:grid-cols-2 gap-6">
                    <div class="bg-gradient-to-br from-purple-50 to-purple-100 rounded-xl p-6 card-hover">
                        <h3 class="text-xl font-semibold mb-4 text-purple-800">
                            <i class="fas fa-bolt mr-2"></i>异步和事件驱动的设计
                        </h3>
                        <ul class="space-y-3 text-gray-700">
                            <li class="flex items-start">
                                <i class="fas fa-check-circle text-purple-600 mt-1 mr-3"></i>
                                <span><strong>异步非阻塞 I/O：</strong>基于 Java NIO 构建，通过选择器机制实现异步非阻塞的网络操作</span>
                            </li>
                            <li class="flex items-start">
                                <i class="fas fa-check-circle text-purple-600 mt-1 mr-3"></i>
                                <span><strong>事件驱动架构：</strong>使用事件循环处理 I/O 操作，将各种 I/O 事件抽象成事件</span>
                            </li>
                        </ul>
                    </div>
                    
                    <div class="bg-gradient-to-br from-blue-50 to-blue-100 rounded-xl p-6 card-hover">
                        <h3 class="text-xl font-semibold mb-4 text-blue-800">
                            <i class="fas fa-tachometer-alt mr-2"></i>高性能和低延迟
                        </h3>
                        <ul class="space-y-3 text-gray-700">
                            <li class="flex items-start">
                                <i class="fas fa-check-circle text-blue-600 mt-1 mr-3"></i>
                                <span><strong>零拷贝技术：</strong>通过直接缓冲区减少内存复制开销，提高 I/O 性能</span>
                            </li>
                            <li class="flex items-start">
                                <i class="fas fa-check-circle text-blue-600 mt-1 mr-3"></i>
                                <span><strong>内存池技术：</strong>采用内存池技术来重复使用内存，降低垃圾回收开销</span>
                            </li>
                        </ul>
                    </div>
                    
                    <div class="bg-gradient-to-br from-green-50 to-green-100 rounded-xl p-6 card-hover">
                        <h3 class="text-xl font-semibold mb-4 text-green-800">
                            <i class="fas fa-plug mr-2"></i>丰富的协议支持
                        </h3>
                        <ul class="space-y-3 text-gray-700">
                            <li class="flex items-start">
                                <i class="fas fa-check-circle text-green-600 mt-1 mr-3"></i>
                                <span><strong>多种协议实现：</strong>内置对 HTTP、WebSocket、TCP、UDP、SSL/TLS 等协议的支持</span>
                            </li>
                            <li class="flex items-start">
                                <i class="fas fa-check-circle text-green-600 mt-1 mr-3"></i>
                                <span><strong>自定义协议：</strong>通过自定义编解码器实现特定业务需求</span>
                            </li>
                        </ul>
                    </div>
                    
                    <div class="bg-gradient-to-br from-orange-50 to-orange-100 rounded-xl p-6 card-hover">
                        <h3 class="text-xl font-semibold mb-4 text-orange-800">
                            <i class="fas fa-puzzle-piece mr-2"></i>可扩展性和灵活性
                        </h3>
                        <ul class="space-y-3 text-gray-700">
                            <li class="flex items-start">
                                <i class="fas fa-check-circle text-orange-600 mt-1 mr-3"></i>
                                <span><strong>模块化设计：</strong>通过插入不同的处理器来定制数据处理逻辑</span>
                            </li>
                            <li class="flex items-start">
                                <i class="fas fa-check-circle text-orange-600 mt-1 mr-3"></i>
                                <span><strong>可配置性：</strong>提供丰富的配置选项，针对不同场景进行优化</span>
                            </li>
                        </ul>
                    </div>
                </div>
            </div>
        </section>

        <!-- 架构可视化 -->
        <section class="mb-16 fade-in-up">
            <div class="bg-white rounded-2xl shadow-xl p-8">
                <h2 class="text-3xl font-bold mb-6 text-gray-800 flex items-center">
                    <i class="fas fa-sitemap text-indigo-600 mr-4"></i>
                    Netty 架构概览
                </h2>
                <div id="architecture-diagram" class="my-8"></div>
            </div>
        </section>

        <!-- 历史背景时间线 -->
        <section class="mb-16 fade-in-up">
            <div class="bg-white rounded-2xl shadow-xl p-8">
                <h2 class="text-3xl font-bold mb-8 text-gray-800